#include <bits/stdc++.h>
using namespace std;

set<int> st;

int main(){
	ios::sync_with_stdio(0);
	cin.tie(0);
	cout.tie(0);
	
	int n,m,nu,c,x;
	cin>>n>>m;
	for(int i = 1;i <= n;i++){
		cin>>nu;
		st.insert(nu);
	}
	
	for(int i = 1;i <= m;i++){
		cin >> c >> x;
		if(c==1){
			if(st.find(x) != st.end()){
				cout << x;
			}
			else
			{
				cout << "NO";
			}
		}
		if(c==2){
			if(x<=*(st.begin())){
				cout << "NO";
			}
			else{
				auto it = st.lower_bound(x);
				--it;
				cout << *it;
			}
		}
		if(c==3){
			if(x>=*(--st.end())){
				cout << "NO";
			}
			else{
				auto it = st.upper_bound(x);
				cout << *it;
			}
		}
		cout << endl;
	}
	return 0;
}
